package com.dragon.modules.yuegou.service.member;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dragon.modules.yuegou.entity.member.ShoppingCartEntity;
import com.dragon.modules.yuegou.enums.member.ShoppingCartShoppingType;
import com.dragon.modules.yuegou.model.member.ShoppingCart;

import java.util.List;

/**
 * 购物车 服务接口
 *
 * @author pbuilder generated
 * @date 2019-04-17 15:08:01
 * @version 2.0
 */
public interface ShoppingCartService extends IService<ShoppingCartEntity> {

    /**
     *  加入购物车
     * @param memberId
     * @param skuId
     * @param busdId
     * @param quantity
     */
    void addCart(String memberId,String skuId,String busdId, int quantity);

    /**
     *  加入购物车
     * @param memberId
     * @param skuId
     * @param busdId
     * @param quantity
     */
    void addCart(String memberId, String skuId, String busdId, int quantity, ShoppingCartShoppingType shoppingType);
    /**
     *  修改购物车商品
     * @param memberId
     * @param cartId
     * @param quantity
     */
    void editCart(String memberId,String cartId, int quantity);

    /**
     *  修改购物车商品
     * @param memberId
     * @param cartId
     */
    void editCartMemberPrice(String memberId,String cartId,Boolean usedMemberPrice);


    /**
     *  删除购物车商品
     * @param memberId
     * @param cartId
     */
    void delCart(String memberId,String cartId);

    /**
     *  批量删除购物车商品
     * @param memberId
     * @param cartIds
     */
    void deleteCarts(String memberId,String[] cartIds);

    /**
     *  清空购物车商品
     * @param memberId
     * @param busdId
     */
    void emptyCart(String memberId,String busdId);


    /**
     * 根据会员id和skuid 查找购物车商品
     * @param memberId
     * @param skuId
     * @return
     */
    ShoppingCart getBymemberIdAndSkuId(String memberId, String skuId, String busdId);



    /**
     *  分页查询商品
     * @param memberId
     * @return
     */
    List<ShoppingCart> pageByMemberId(String memberId,String busdId);


    /**
     *  查找会员购物车所有商品
     * @param memberId
     * @param busdId
     * @return
     */
    List<ShoppingCart> findByMemberId(String memberId,String busdId);

    /**
     *  查找购物车商品
     * @param cartIds
     * @return
     */
    List<ShoppingCart> findList(String[] cartIds);
}